package org.edu.modules.teacher.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.edu.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
@TableName("ve_base_teacher")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "教职工信息表", description = "教职工信息表")
public class BaseTeacher implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键、自增长
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键、自增长")
    private Integer id;

    /**
     * 工号
     */
    @Excel(name = "工号", width = 15)
    @ApiModelProperty(value = "工号")
    private String gh;
    /**
     * 姓名
     */
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String xm;
    /**
     * 曾用名
     */
//    @Excel(name = "曾用名", width = 15)
    @ApiModelProperty(value = "曾用名")
    private String cym;
    /**
     * 身份证件类型码 （数据字典）
     */
    @Excel(name = "身份证件类型", width = 15, dicCode = " code", dicText = "title", dictTable = "ve_dict_dictdata where modelCode='SFZJLX' ")
    @ApiModelProperty(value = "身份证件类型码 （数据字典）")
    @Dict(dicCode = "modelCode='SFZJLX' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String sfzjlxm;
    /**
     * 身份证件号
     */
    @Excel(name = "身份证件号", width = 15)
    @ApiModelProperty(value = "身份证件号")
    private String sfzjh;

    /**
     * 部门id
     */
    @Excel(name = "所属部门", width = 15, dicCode = "id", dicText = "JGMC", dictTable = "ve_base_department")
    @ApiModelProperty(value = "部门id")
    @Dict(dicCode = "id", dicText = "JGMC", dictTable = "ve_base_department")
    private Integer depid;
    /**
     * 编制类别码
     */
    @Excel(name = "编制类别", width = 15, dicCode = "code", dicText = "title", dictTable = "ve_dict_dictdata where modelCode='BZLB' ")
    @ApiModelProperty(value = "编制类别码")
    @Dict(dicCode = "modelCode='BZLB' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String bzlbm;

    /**
     * 教职工类别码
     */
    @Excel(name = "教职工类别", width = 15, dicCode = " code", dicText = "title", dictTable = "ve_dict_dictdata where modelCode='JZGLB' ")
    @ApiModelProperty(value = "教职工类别码")
    @Dict(dicCode = "modelCode='JZGLB' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String jzglbm;

    /**
     * 教研组ID
     */
    @Excel(name = "所属专业组", width = 15, dicCode = "id", dicText = "JYZMC", dictTable = "ve_base_jyz")
    @ApiModelProperty(value = "教研组ID")
    @Dict(dicCode = "id", dicText = "JYZMC", dictTable = "ve_base_jyz")
    private Integer jyzid;

    /**
     * 当前状态码 11默认在职
     */
    @Excel(name = "当前状态", width = 15, dicCode = " code", dicText = "title", dictTable = "ve_dict_dictdata where modelCode='JZGDQZT' ")
    @ApiModelProperty(value = "当前状态码 11默认在职")
    @Dict(dicCode = "modelCode='JZGDQZT' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String dqztm;


    /**
     * 教师用户id
     */
//    @Excel(name = "教师用户id", width = 15)
    @ApiModelProperty(value = "教师用户id")
    private String userid;
    /**
     * 出生日期
     */
//    @Excel(name = "出生日期", width = 15)
    @ApiModelProperty(value = "出生日期")
    private Long csrq;
    /**
     * 性别码
     */
//    @Excel(name = "性别码", width = 15)
    @ApiModelProperty(value = "性别码")
    private String xbm;
    /**
     * 民族码
     */
//    @Excel(name = "民族码", width = 15)
    @ApiModelProperty(value = "民族")
    @Dict(dicCode = "modelCode='MZ' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String mzm;
    /**
     * 健康状况码
     */
//    @Excel(name = "健康状况码", width = 15)
    @ApiModelProperty(value = "健康状况码")
    @Dict(dicCode = "modelCode='JKZK' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String jkzkm;
    /**
     * 政治面貌码
     */
//    @Excel(name = "政治面貌码", width = 15)
    @ApiModelProperty(value = "政治面貌码")
    @Dict(dicCode = "modelCode='ZZMM' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String zzmmm;
    /**
     * 港澳台侨外码
     */
//    @Excel(name = "港澳台侨外码", width = 15)
    @ApiModelProperty(value = "港澳台侨外码")
    @Dict(dicCode = "modelCode='GATQWM' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String gatqwm;
    /**
     * 籍贯
     */
//    @Excel(name = "籍贯", width = 15)
    @ApiModelProperty(value = "籍贯")
    private String jg;
    /**
     * 是否是流动 人口
     */
//    @Excel(name = "是否是流动 人口", width = 15)
    @ApiModelProperty(value = "是否是流动 人口")
    @Dict(dicCode = "modelCode='SFSLDRK' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String sfsldrk;
    /**
     * 户口类别码
     */
//    @Excel(name = "户口类别码", width = 15)
    @ApiModelProperty(value = "户口类别码")
    @Dict(dicCode = "modelCode='HKLX' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String hklbm;
    /**
     * 当前住址
     */
//    @Excel(name = "当前住址", width = 15)
    @ApiModelProperty(value = "当前住址")
    private String dqzz;
    /**
     * 当前住址邮政编码
     */
//    @Excel(name = "当前住址邮政编码 ", width = 15)
    @ApiModelProperty(value = "当前住址邮政编码 ")
    private String dqzzyzbm;
    /**
     * 参加工作年月
     */
//    @Excel(name = "参加工作年月", width = 15)
    @ApiModelProperty(value = "参加工作年月")
    private Long cjgzny;
    /**
     * 从教年月
     */
//    @Excel(name = "从教年月", width = 15)
    @ApiModelProperty(value = "从教年月")
    private Long cjny;
    /**
     * 来校年月
     */
//    @Excel(name = "来校年月", width = 15)
    @ApiModelProperty(value = "来校年月")
    private Long lxny;

    /**
     * 职务码
     */
//    @Excel(name = "职务码", width = 15)
    @ApiModelProperty(value = "职务码")
    @Dict(dicCode = "modelCode='ZW' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String zwm;

    /**
     * 岗位类别码
     */
//    @Excel(name = "岗位类别码", width = 15)
    @ApiModelProperty(value = "岗位类别码")
    @Dict(dicCode = "modelCode='GWLB' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String gwlbm;
    /**
     * 是否兼职教师
     */
//    @Excel(name = "是否兼职教师", width = 15)
    @ApiModelProperty(value = "是否兼职教师")
    private Integer sfjzjs;
    /**
     * 是否双师型教师
     */
//    @Excel(name = "是否双师型教师", width = 15)
    @ApiModelProperty(value = "是否双师型教师")
    private Integer sfssxjs;
    /**
     * 是否省市级专业带头人
     */
//    @Excel(name = "是否省市级专业带头人", width = 15)
    @ApiModelProperty(value = "是否省市级专业带头人")
    private Integer sfssjzydtr;
    /**
     * 是否骨干教师
     */
//    @Excel(name = "是否骨干教师", width = 15)
    @ApiModelProperty(value = "是否骨干教师")
    private Integer sfggjs;
    /**
     * 是否高级专业技术职务教师
     */
//    @Excel(name = "是否高级专业技术职务教师", width = 15)
    @ApiModelProperty(value = "是否高级专业技术职务教师")
    private Integer sfgjzyjszwjs;
    /**
     * 照片
     */
//    @Excel(name = "照片", width = 15)
    @ApiModelProperty(value = "照片")
    private String zp;
    /**
     * 联系电话
     */
//    @Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话")
    private String lxdh;
    /**
     * 联系邮箱
     */
//    @Excel(name = "联系邮箱", width = 15)
    @ApiModelProperty(value = "联系邮箱")
    private String dzxx;
    /**
     * 邮政编码
     */
//    @Excel(name = "邮政编码", width = 15)
    @ApiModelProperty(value = "邮政编码")
    private String yzbm;

    /**
     * 状态;1可用2不可用
     */
//    @Excel(name = "状态;1可用2不可用", width = 15)
    @ApiModelProperty(value = "状态;1可用2不可用")
    private Integer status;
    /**
     * 系统ID
     */
//    @Excel(name = "系统ID", width = 15)
    @ApiModelProperty(value = "系统ID")
    private Integer terminalid;
    /**
     * createTime
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "createTime")
    private Date createTime;
}
